import java.io.ObjectInputStream.GetField;


public class TSupermercado   {
	
	public TProductos productos;
	
/**
 	* FUNCION: Constructor por defecto
 */
	public TSupermercado(){
		productos = new TProductos();
	}
	
	/**
	 * FUNCION: Constructor con parámetros
	 * 
	 * RESPONSABILIDAD: Inicializar la lista con la lista pasada por parámetros
	 * 
	 * @param productos - Lista de productos. 
	 */
	public TSupermercado(TProductos productos){
		this.productos = productos;
	}
	
	
	public int getCantidadProductos()
	{
		return this.productos.getProductos().obtenerCantidadElementos();
	}

	public boolean IncorporarProducto(Comparable etiqueta, String nombre, double precio,int stock) {
		if (etiqueta!= null){
			return productos.agregarNuevoProducto(etiqueta, nombre, precio, stock);
		}	
		return false;
	}

	

	public boolean QuitarProducto(Comparable codigoBarras) {
		return productos.QuitarProducto(codigoBarras);
	}


	public boolean AgregarStock(Comparable codigoBarras, Integer cantidad) {
		return productos.AgregarStock(codigoBarras, cantidad);
		
	}


	public boolean QuitarStock(Comparable codigoBarras, Integer cantidad) {
		return productos.QuitarStock(codigoBarras, cantidad);
		
	}


	public String ListarProductos() {
		  
              String aDevolver = "";
              //productos.ordenarPorNombre();
              TLista auxiliar= new TLista();
              System.out.println("hola");
              
              auxiliar= productos.ordenarPorNombre();
              TElemento elem = auxiliar.getPrimero();
              while(elem != null){
                      aDevolver += "Producto: "+elem.getEtiqueta() + " - " +"Stock: "+ ((TProducto)(elem.getDato())).getStock() + "\n";
                      elem = elem.getSiguiente();
                    
              }
              return aDevolver; 

      
      }
	
	
	



}
